# #需求:解析下载图片数据 http;//pic.netbian.com/4kmeinv/
import os.path

import requests
from lxml import etree
from urllib import parse

if __name__ == "__main__":

    # 01. 指定 url
    url = 'https://pic.netbian.com/4kmeinv/'

    # 02. 发起请求，使用 get 方法发起 get 请求，该方法回返回一个响应对象。参数 url 表示请求相应的 url。
    headers = {
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
    }
    resp = requests.get(url, headers=headers).text.encode('ISO-8859-1').decode('gbk').replace('\\x', '%')  # 处理一个小小的反爬虫
    resp = parse.unquote(resp)
    # 03. 数据解析：src 的属性值 | alt 的属性值
    tree = etree.HTML(resp)
    li_list = tree.xpath('//div[@class="slist"]//li')

    # 04. 持久化存储
    # 创建一个文件夹
    if not os.path.exists('picLib'):
        os.mkdir('picLib')
    for li in li_list:
        img_src = 'https://pic.netbian.com' + li.xpath('.//img/@src')[0]
        img_name = li.xpath('.//img/@alt')[0] + '.jpg'
        print(img_src, img_name)

        img_data = requests.get(url=img_src, headers=headers).content

        with open('picLib/' + img_name, 'wb') as fp:
            fp.write(img_data)

    print('over')
